package tp1traits.aulas

import scala.collection.mutable.ArrayBuffer
import recursos.Recurso
import tp1.Aula
import recursos.Capacidad

trait ComparadorDeAula {
  
	def cantidadDeIntegrantes:Int
  
	var recursosSolicitados = ArrayBuffer[Recurso](new Capacidad(this.cantidadDeIntegrantes))
	 
	def agregarRecurso(recurso:Recurso){
	  recursosSolicitados += recurso
	}
	
	/**Auxiliar de estanLosRecursos, evalua el recurso es igual o superior al que se pide, ej, metros cuadrados de un pizarron*/
	def recursoNecesario(recursosDelAula:ArrayBuffer[Recurso],recursoSolicitado:Recurso):Boolean ={
	  recursosDelAula.exists{recurso_Aula => recurso_Aula.esIgualOSuperiorA(recursoSolicitado)}
	}
	
		/**Evalua que todos los recursos solicitados esten en el Aula */
	def estanLosRecursos(recursosDelAula:ArrayBuffer[Recurso]):Boolean={
	   recursosSolicitados.forall(recursoSolicitado => recursoNecesario(recursosDelAula,recursoSolicitado));
	}
	
	def meSirveAula(aula:Aula):Boolean ={
	 estanLosRecursos(aula.recursos) 
	}
	
}